The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Therefore, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section.
Electronic documents that conform to hypertext markup language (HTML) may be created and modified using various forms of HTML editors. Some editors are text-based and facilitate interacting with HTML in source language format, and others are graphical and seek to present page images as they will appear when rendered using a browser. Certain editors may be termed WYSIWYG (what you see is what you get) editors.
Text editors for HTML may provide syntax highlighting to indicate syntax errors in the HTML source code. Templates, toolbars, and keyboard shortcuts may be provided to enable quickly inserting common HTML elements and structures. Wizards, tooltip prompts and auto-completion may help with common tasks. Text HTML editors also may include either built-in functions or integration with external tools for such tasks as source and version control, link-checking, code checking and validation, code cleanup and formatting, spell-checking, uploading by FTP or WebDAV, and structuring as a project. However, text editors require users to understand HTML and any other web technologies the designer wishes to use, such as CSS, JavaScript, and server-side scripting languages.
Some editors allow alternate editing of the source text of objects in more visually organized modes than simple color highlighting, but in modes not considered to provide true WYSIWYG display. Some WYSIWYG editors include the option of using palette windows that enable editing the text-based parameters of selected objects. These palettes allow either editing parameters in fields for each individual parameter, or text windows to edit the full group of source text for the selected object. They may include widgets to present and select options when editing parameters. Adobe GoLive provides an outline editor to expand and collapse HTML objects and properties, edit parameters, and view graphics attached to the expanded objects.
WYSIWYG HTML editors provide an editing interface which resembles how the page is to be displayed in a web browser. These editors may be stand-alone programs, such as Adobe Dreamweaver or Microsoft Frontpage, or come in the form of browser extensions and allow editing directly within the web browser. Because using a WYSIWYG editor may not require any HTML knowledge, they are often easier for an average computer user.
The WYSIWYG view may be achieved by integrating a layout engine, based upon that used in a Web browser, into the editor. The layout engine is considerably enhanced by the editor's developers to allow for typing, pasting, deleting, and manipulation of the content. The goal is that, at all times during editing, the rendered result should represent what is seen later in a typical Web browser. Unfortunately, a given HTML document can have an inconsistent appearance on various platforms and computers for several reasons.
For example, different browsers and applications may render the same HTML source code differently. The same page may display slightly differently in Internet Explorer and Firefox on a high-resolution screen, or considerably differently using the text-only Lynx browser. The HTML also needs to be rendered differently on a PDA, an Internet-enabled television, and on a mobile phone. Usability in a speech or braille browser, or via a screen-reader working with a conventional browser, places demands on entirely different aspects of the underlying HTML. Printing the page, via different browsers and different printers onto various paper sizes around the world introduces other demands. With the correct use of HTML and CSS, there is no need to provide ‘Printable page’ links and then have to maintain two versions of the whole site. Nor is there any reason to deploy pages that do not fit the user's preferred paper size and orientation, or pages that cause wasting ink printing solid background colors, or that cause wasting paper by reproducing navigation panels that are entirely useless once printed.
An inconsistent appearance also can occur because browsers and computer graphics systems have a range of user settings. For example, users may adjust resolution, font size, color, contrast, and other values, and many modern browsers allow even more user control over page appearance. Consequently, the source HTML essentially represents a suggested appearance for a page that may not be rendered in practice.
Inconsistent appearance also can arise because web browsers have bugs. Web browsers may not conform to current standards and web pages cannot be authored to avoid all of the common browsers' current bugs.
Still another problem is that a single visual style can represent multiple semantic meanings. Semantic meaning, derived from the underlying structure of the HTML document, is important for search engines and also for various accessibility tools. On paper, one can tell from context and experience whether bold text represents a title, emphasis, or something else, but conveying this distinction in a WYSIWYG editor is difficult. Making a piece of text bold in a WYSIWYG editor is not sufficient to tell the editor what the boldness means.
As a result, typical WYSIWYG editors produce page layouts or appearances that are not guaranteed to provide a consistent view to all users. The foregoing problems are more pronounced when users edit live web pages that are populated with data and content and viewed at a browser during an active session, as opposed to static web pages which are empty forms that created and/or edited outside of an active session. Examples of online WYSIWYG HTML editors include CKEditor, OpenBEXI, SnapEditor, TinyMCE, WYMeditor, and YUI Rich Text Editor. However, online WYSIWYG HTML editors usually have a limited ability to generate graphic elements relating to page layouts of web pages such as sections and columns.
Consequently, there is a need for an online WYSIWYG HTML editor that makes it intuitive for users to create basic page layouts and to create and modify basic page layouts, and that eliminates the need for special treatment of sections and columns for basic page layouts.